﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Collections;

namespace NHibernateBusiness.Data
{
    public interface INHibernateHelper
    {
        T GetQueryById<T>(string id);
        IList<T> GetQuery<T>();
        IList<T> GetQuery<T>(T t);
        DataSet GetQueryForDs<T>();
        DataSet GetQueryForDs<T>(T t);
        IList<T> GetQuery<T>(T t, string order, bool isAsc);
        DataSet GetQueryForDs<T>(T t, string order, bool isAsc);
        IList<T> GetQueryBySql<T>(string sqlText);
        DataSet GetQueryBySqlForDs<T>(string sqlText);
        IList<T> GetQuery<T>(string name, string value);
        DataSet GetQueryForDs<T>(string name, string value);
        IList<T> GetQuery<T>(string name, string value, string tName, string tValue);
        DataSet GetQueryForDs<T>(string name, string value, string tName, string tValue);
        void Save(object obj);
        void Save(string sql);
        void SaveOrUpdate(object obj);
        void Update(object obj);
        void Update(string sql);
        void Delete<T>(T t);
        int Delete(string sqlText);
        IList DoSql(string sql);
        DataSet DoSqlForDs(string sql);
    }
}
